summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/sockets/sockets_translate.h
blob: bd6721fd3e7f8bb940c04c4e9357ea850ba8b5bb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include <utility>

#include "common/common_types.h"
#include "core/hle/service/sockets/sockets.h"
#include "core/internal_network/network.h"

namespace Service::Sockets {

/// Translate abstract errno to guest errno
Errno Translate(Network::Errno value);

/// Translate abstract return value errno pair to guest return value errno pair
std::pair<s32, Errno> Translate(std::pair<s32, Network::Errno> value);

/// Translate abstract getaddrinfo error to guest getaddrinfo error
GetAddrInfoError Translate(Network::GetAddrInfoError value);

/// Translate guest error to string
const char* Translate(GetAddrInfoError value);

/// Translate guest domain to abstract domain
Network::Domain Translate(Domain domain);

/// Translate abstract domain to guest domain
Domain Translate(Network::Domain domain);

/// Translate guest type to abstract type
Network::Type Translate(Type type);

/// Translate abstract type to guest type
Type Translate(Network::Type type);

/// Translate guest protocol to abstract protocol
Network::Protocol Translate(Protocol protocol);

/// Translate abstract protocol to guest protocol
Protocol Translate(Network::Protocol protocol);

/// Translate guest poll event flags to abstract poll event flags
Network::PollEvents Translate(PollEvents flags);

/// Translate abstract poll event flags to guest poll event flags
PollEvents Translate(Network::PollEvents flags);

/// Translate guest socket address structure to abstract socket address structure
Network::SockAddrIn Translate(SockAddrIn value);

/// Translate abstract socket address structure to guest socket address structure
SockAddrIn Translate(Network::SockAddrIn value);

/// Translate guest shutdown mode to abstract shutdown mode
Network::ShutdownHow Translate(ShutdownHow how);

} // namespace Service::Sockets